"""
生成器是一个特殊的迭代器
生成器有一个关键字yield（只要函数中出现了yield关键字，那么这个函数就是一个生成器）
yield作用
    （1）返回数据
    （2）可以分段执行函数内容,使用__next__执行到下一个yield
"""

def iterator():
    print("liquid")
    return 0

def generator():
    print("s1")
    yield 0
    print("s2")
    yield 1
    print("s3")
    yield 2
    print("s4")
    yield 3


# 返回结构是0
print(iterator())

# 生成器执行并不会执行其函数方法，返回的是生成器对象实例
print(generator())


def plus():
    ls = []
    for i in range(100):
        ls.append(i)
        if len(ls) == 10:
            yield ls
            ls = []


var = plus()
print(var.__next__())
print(var.__next__())
print(var.__next__())